1. Field of the Invention
The present invention relates generally to an improved data processing system and in particular to a method and apparatus for managing requests to access data. Still more particularly, the present invention relates to a computer implemented method, apparatus, and computer usable program product for managing access to files in a network file system.
2. Description of the Related Art
Data is typically stored in the form of files on the file system. The file system provides a directory structure for tracking files in the path's syntax necessary to access these files. Further, a file system also defines the way files are named as well as a maximum file for volume size. A network file system is a file system that supports access to files from remote clients. These types of file systems may employ various protocols to allow multiple clients to access the same file system from remote devices. One example of such a protocol is network file system version 3 protocol specification found in RFC1813, June 1995.
One feature present in a file system to achieve higher performance for sequential input/output operations include a technique such as read ahead. Read ahead is employed when a process sequentially reads data from the same file. When multiple processes are present that perform sequential input/output operations on the same file at the same time, some file systems can still achieve this type of performance by tracking the sequential nature of the input/output operations on a per application basis. This type of tracking is performed by independent opens performed by the different processes on a data processing system.
However, in the case of a network file system server, the opens performed by the processes on client data processing systems are not propagated to the file system on the server because this type of open is not part of the protocol between the client and server. As a result, when more than one client performs sequential input/output operations on the same file on the server at the same time, the sequential nature of the input/output operations are not detected by the file system. Instead, these type of operations from the different clients on the same file appear to be random and the performance benefit with features, such as read ahead, is lost.